{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## plotcc.m\n",
    "From A First Course in Machine Learning, Chapter 5.\n",
    "\n",
    "Simon Rogers, 17/10/17 [simon.rogers@glasgow.ac.uk]\n",
    "\n",
    "Computing and plotting class-conditional densities for a Bayes classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 111,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pylab as plt\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 112,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "X = []\n",
    "t = []\n",
    "with open('bdata.csv','r') as f:\n",
    "    reader = csv.reader(f)\n",
    "    for line in reader:\n",
    "        X.append([float(line[0]),float(line[1])])\n",
    "        t.append(float(line[2]))\n",
    "        \n",
    "t = [int(i) for i in t]\n",
    "t = np.array(t)[:,None]\n",
    "X = np.array(X)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAFkCAYAAAC9wjgoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAPYQAAD2EBqD+naQAAIABJREFUeJzt3X9w3Hd95/HXe50l1M7GXKEF7BoknKZV6Q8qAe3iYNqi\nyL4eUtL6SquD6R0U7uh0UcexJwyVcvYUaSCcf7CUTVt601J+VFduPDQSh+PYFTSDKkwrAdcblhJj\nq6SKyZXQc74YCJvs5/5YyZaUXWm/0n6/+/3xfMxoBq+k/X4ipP2+9vPj/TbnnAAAQHpl2j0AAADQ\nXoQBAABSjjAAAEDKEQYAAEg5wgAAAClHGAAAIOUIAwAApBxhAACAlCMMAACQcoQBAABSLrQwYGbv\nNLOqmZ0I65oAAGB9oYQBM3uFpLdK+lIY1wMAAM0LPAyY2U2SPirpLZL+X9DXAwAA/oQxM1CSNOmc\nmwrhWgAAwKcbgnxyM/sNSS+T9PImv/65kvZJmpf0veBGBgBA4jxbUoekM865x/18Y2BhwMx+RNL7\nJN3unKs0+W37JH0sqDEBAJACb5D0F36+IciZgR5JPyRp1sxs8bEtkvaaWUHSjc45t+p75iXpox/9\nqLq6ugIcGpY7ePCgTp482e5hpAo/8/DxMw8fP/NwlctlvfGNb5QW76V+BBkGzkn6qVWPfUhSWdJ7\n6gQBaXFpoKurS93d3QEODctt376dn3fI+JmHj595+PiZt43vZfbAwoBz7qqkLy9/zMyuSnrcOVcO\n6roAAMCfsCsQ1psNAAAAbRToaYLVnHO/FOb1AADA+uhNAA0ODrZ7CKnDzzx8/MzDx888Pqz+Pr72\nMLNuSbOzs7NsOgEAwIe5uTn19PRIUo9zbs7P9zIzAABAyhEGAABIOcIAgNiK0jInEGeEAQCx4nme\njgwNqbezU3fu2qXezk4dGRqS53ntHhoQW6EeLQSAzfA8Twfyed1VLutotSpTrXjJmVJJB6amdGpm\nRrlcrt3DBGKHmQEAsXFseFh3lcvavxgEJMkk7a9WdbBc1vGRkXYOD4gtwgCA2JienNS+arXu5/ZX\nq5qemAh5REAyEAYAxIJzTtsqlWszAquZpK2VCpsKgQ0gDACIBTPT1Wy2YYMTJ+lqNqvrHdMBNIsw\nACA29vT360ym/svWA5mMbhsYCHlEQDIQBgDExuGxMZ3o6tLpTObaDIGTdDqT0cmuLh0aHW3n8IDY\nIgwAiI1cLqdTMzM6Xyior6NDd+zcqb6ODp0vFDhWCGwCdQYAxEoul9PRYlEqFuWcY48A0ALMDACI\nLYIA0BqEAQAAUo4wAABAyhEGAABIOcIAAAApRxgAACDlCAMAAKQcYQAAgJQjDAAAkHKEAQAAUo4w\nACD2nGvU2BhAMwgDAGLJ8zwdGRpSb2en7ty1S72dnToyNCTP89o9NCB2aFQEIHY8z9OBfF53lcs6\nWq3KVGtlfKZU0oGpKToYAj4FOjNgZm8zsy+Z2ZXFj781s/1BXhNA8h0bHtZd5bL2LwYBSTJJ+6tV\nHSyXdXxkpJ3DA2In6GWCRyS9Q1LP4seUpPvNrCvg6wJIsOnJSe2rVut+bn+1qumJiZBHBMRboMsE\nzrn/teqhETP7bUk/L6kc5LUBJJNzTtsqFTVqXmyStlYqcs7R4hhoUmh7BswsI+n1krZKmgnrugCS\nxcx0NZuVk+oGAifpajZLEAB8CPw0gZn9pJl5kp6UdJ+kX3HOfSXo6wJIrj39/TqTqf/y9UAmo9sG\nBkIeERBvFvT5XDO7QdKLJD1H0gFJb5W0t14gMLNuSbN79+7V9u3bV3xucHBQg4ODgY4VQDwsnSY4\nuGwToVMtCJzs6uI0ARJvfHxc4+PjKx67cuWKHnroIUnqcc7N+Xm+wMPAMy5odlbSBefcb9f5XLek\n2dnZWXV3d4c6LmCjWJtuD8/zdHxkRNMTE9paqeg72az2DAzo0OgoQQCpNDc3p56eHmkDYaAddQYy\nkm5sw3WBlvE8T8eGhzU9OaltlYquZrPa09+vw2Nj3IhCksvldLRYlIpFAhmwSYGGATMbk3RatSOG\nOUlvkPQaSX1BXhcIEgVvoocgAGxO0BsIny/pw5K+IumcarUG+pxzUwFfFwgMBW8AJE2gYcA59xbn\n3Euccz/gnHuBc44ggNij4A2ApKFREeCDn4I3ABAXhAHAh+UFb+qh4A2AOCIMAD5R8AZA0hAGAJ8O\nj43pRFeXTmcy12YInKTTiwVvDo2OtnN4AOAbYQDwKZfL6dTMjM4XCurr6NAdO3eqr6ND5wsFjhW2\nAfszgM1rR9EhIPYoeNNeFH0CWoswAGwSQSBcGyn6RGAD1sYyAYBYabbok+d5OjI0pN7OTt25a5d6\nOzt1ZGhInue1bexAVBEGAMRKM0WflmYP8qWSzs7P6/6FBZ2dn1e+VNKBfJ5AAKxCGAAQG80Wffpv\nv/d7lIwGfCAMANiQduzib7bo099+8pOUjAZ8IAwAIUnCEbgorMOvV/Rpz8AAJaMBnwgDQICicPNs\nlaisw69X9Onw6CglowGfCANAQKJy82yVqLRubqboEyWjAX8sSlNlZtYtaXZ2dlbd3d3tHg6wKUeG\nhpQvlbS/ztr16UxG5wuFWuGimOjt7NTZ+fm60+9OUl9Hh85euhT2sOrWEFgKYgeXhRenWhA42dVF\npUgk0tzcnHp6eiSpxzk35+d7mRkAAtLMEbi4iHLr5nrT/ZSMBvyhAiEQAD83zzisXS/fxd9oZiBq\n6/CUjAaax8wAEIBmj8DF6QYV53X4OP2cgXYgDAABifPNsx5aNwPJRRgAApK0myfr8EBycZoACJDn\neTo+MqLpiQltrVT0nWxWewYGdGh0NPY3T9bhgWjZzGkCNhACAUryJrYk/bcAaccyARASbp4Aooow\nAABAyhEGAGCRnz1UUdpvBWwWYQBAqvlpJpWkxlPAcmwgBJBaSz0M7iqXdXRZD4MzpZIOTE2tODLp\n52uBIAS5CZmZAQCp5acTY1S6NiJdwpqNCjQMmNk7zezzZvaEmT1mZp8ws1uDvCYANMtPM6kkNZ5C\nPITZBj3omYFXS/oDST8nqVdSVtKDZvYDAV8XANbkp5lUlLs2IrnCnI0KNAw4537ZOfcR51zZOfcP\nkv6TpBdJ6gnyugCwHj/NpJLYeArRF+ZsVNh7Bp6j2t/Nt0K+LoAWSdK7Xz/NpJLWeArRFvZsVGhh\nwGqR+X2SPuuc+3JY1wWweUk9UuenmVTSGk8h2sKejQqtUZGZ/aGkfZL2OOcuN/iabkmze/fu1fbt\n21d8bnBwUIODg8EPFMAKy4/U7Vt+pC6T0YmurtgfqfPTTCrJjacQPUeGhpQvlbS/zlLBO8z0Vx0d\n+rGf/Mlrj125ckUPPfSQtIFGRaGEATP7gKR+Sa92zn19ja+jayEQMWu9IJ3OZHS+UKg1Y0oAP+e4\nk9Z4CtGzFMQPLttE6FRbljpZJ4hvpmth4MsEi0HgDkm/uFYQABBNaTpS5+fmThBA0HK5nE7NzOh8\noaC+jg7dsXOn+jo6dL5QaPmMXKAVCM3sPkmDkgYkXTWz5y9+6opz7ntBXhvA5vnZxMTNEWi9sNqg\nBz0z8DZJN0v6jKRHl328PuDrAmgBjtQlS5JOgqRRkH9nQdcZyDjnttT5+HCQ1wXClPQXWI7UxVtS\nT4KgtehNAGyA53kaGjqizs5e7dp1pzo7ezU0dCSRL7AcqasvDiEwzHK2iDfCAOCT53nK5w+oVMpr\nfv6sFhbu1/z8WZVKeeXzBxL3AhvmJqZ2afbGHrd32TRXQrNCqzPQDI4WIg6Gho6oVMqrWt3/jM9l\nMqdVKJxXsXg0/IGFJCmbBT3P07HhYU1PTmpbpaKr2az29Pfr8NhY3YATx3oLvZ2dOjs/X3cDqJPU\n19Ghs5cuhT0sBCTSRwuBpJmcnFa1uq/u56rV/ZqYmA55ROFKShDwO30et3fZNFeCH4QBwAfnnCqV\nbdIaL7GVylZeYCOk3v8XG7mxx63eAidB4AdhAPDBzJTNXpXWeInNZq/yAttm663t+72xx/VdNidB\n0CzCAOBTf/8eZTJn6n4uk3lAAwO3hTwiLLfeEsATTzzh+8Ye13fZnARBswgDgE9jY4fV1XVCmcxp\nadlLbCZzWl1dJzU6eqidw0u99ZYATtxzz4Zu7HF8l52GkyBoDU4TABvgeZ5GRo5rYmJalcpWZbPf\n0cDAHo2OHuIFts2a2UH/qv5+382X/DaNiaKknARBfZs5TRBobwIgqXK5nIrFoyoWeYGNkmbX9g+N\njurfT03JNbqx15k+X3qXfXxkRCdWtTA+VaeFcRC/F5t9Tn5P0QhhANgkXmBbpxU3u6UlgEYzA1ez\nWd18882+buxL1msa47d2QTOCeE5gNcIAgLZq9c1uT3+/zjRYAli+tr/ZbnD1gsBSUaKjy4sSlUo6\nMDW1oWWEIJ4TqMs5F5kPSd2S3OzsrAOQfE888YS7/aUvdaczGVeVnJNcVXKnMxl3+0tf6p544okN\nP+enVj3npzbxnM34r29/uzudyTi3eM3lH5/KZNyRoaFIPCeSa3Z21qmWF7udz/svpwkAtE0QVf3C\n2EHv6my8DqIoUdwKHSG+WCYA0DbTk5M6usbN7sTEhLRqV38zNrsEUM9ayxk33XRT07ULmh2L81Ho\niH0r2CzCAIC2COtm16ogsN7afTMbF/2MpdnNkAQBtALLBADaIk5V/ZpZzgiiKFEcCx0hnggDANom\nLje7Ztbugyj9SzlhhIUwAISk3qaztIvDza7Z5Yybbrqp5RsXKSeMsFCOGAiQ53kaHj6myclpVSrb\nlM1eVX//Ho2NHeaFfJHneTo+MqLpVcV/Dq1R/Cds65U4vr2jQ+cuXVr5eAQrECLZKEcMRJDnecrn\nD6hcvkvV6lFpcdtZqXRGU1MHNDNzKjI3u3YKYud/qzVbyGi5IP47ovizQTKwTAAEZHj42GIQ2C8t\n23ZWre5XuXxQIyPH2zm8SIrqzS4OyxnAZhAGgIBMTk6rWt1X93PV6n5NTEyHPCJsFGv3SDqWCYAA\nOOdUqWxT/RPikmSqVLZGdloczxSH5Qxgo5gZAAJgZspmr0prnKLPZq9yQ4kp/n9D0hAGgID09+9R\nJnOm7ucymQc0MHBbyCMCgPoIA0BAxsYOq6vrhDKZ09KybWeZzGl1dZ3U6Oihdg4PAK4JNAyY2avN\nbMLMFsysambRKCcGhCCXy2lm5pQKhfPq6OjTzp13qKOjT4XCeY4VAoiUoDcQbpP0RUl/KulUwNcC\nIieXy6lYPKpikYIxAKIr0DDgnHtA0gOSZLwKIuX4EwAQVewZAAAg5QgDAACkHGEAAICUi2QFwoMH\nD2r79u0rHhscHNTg4GCbRgQAQHSMj49rfHx8xWNXrlzZ8POF1sLYzKqS7nTOTazxNbQwTgF21QNA\n622mhXHQdQa2mdnPmNnLFh96yeK/dwV5XUSP53kaGjqizs5e7dp1pzo7ezU0dESe57V7aACQekEv\nE7xc0qdVK7/mJC31bP1zSW8O+NqICM/zlM8fWGzne1S15j1OpdIZTU0diGUBHmY3ACRJoDMDzrm/\ncc5lnHNbVn0QBFJkePjYYhDYr+td/EzV6n6Vywc1MnJ8rW+PDGY3ACQVpwmwYc3uN5mcnFa1uq/u\n56rV/ZqYmG7lsAKxNLtRKuU1P39WCwv3a37+rEqlvPL5AwQCALFGGIAvft8dO+dUqWzT9RmB1UyV\nytamg0W7JGV2AwDqIQygaRt5d2xmymav6nrXvtWcstmrkV9/T8LsBgA0QhhA0zb67ri/f48ymTN1\nP5fJPKCBgduCGXCLJGV2I0hp/m8HkoAwgKZt9N3x2NhhdXWdUCZzWtdnCJwymdPq6jqp0dFDwQy4\nRZIyu9FqbKgEkoMwgKZs5t1xLpfTzMwpFQrn1dHRp50771BHR58KhfOxOVYY99mNVmNDJZAskSxH\njOhZ+e64XiBY+91xLpdTsXhUxWI8z+iPjR3W1NQBlctu2TKJUybzwOLsxql2DzFUK5eMliwtGTmN\njBxXsXi0XcMD4BMzA2haq94dxy0ISMmY3WglNlQCycLMAJqW9nfHcZ/daBU/S0Zp/RkBccPMAJrG\nu+Pr0nyTY0MlkDzMDMAX3h1Dqi0ZlUpnVu0ZqEnjhkog7pgZwIYRBNIr7sdFAaxEGAA2KY0Fd1gy\nApKFZQJgAzzP0/DwMU1OTqtS2aZs9qr6+/dobOxwam6ELBkByUEYAHxaKrhTO2d/VEunKkqlM5qa\nOpDKd8YEASDeWCYAfEpKB8M0Lm8AqI8wAPgU54I79BMAUA/LBEg9P+vdcS64w/IGgEaYGUAqbfQd\ncpwL7iRleQNA6xEGkDqb7bgX1w6GcV7eABAswgBSZ7PvkONYcGczLagBJB9hAKmz2XfIcSy4E+fl\nDQDBYwMhUqVVGwDjWHCHfgIAGmFmAKkSxDvkOAQBKZ7LGwDCQRhA6sR1A+BmxXF5A0A4LEobhsys\nW9Ls7Oysuru72z0cJMTqafzr5+0PLttE6JTJPKCurpOpuTHGZXkDQHPm5ubU09MjST3OuTk/38vM\nABJprToCvEOuIQgAWMLMABJnZaW9fbr+zv+MurpOPOOGzztkAEkQ+ZkBM/sdM7tkZt81s8+Z2SvC\nuC7SyW8dAYIAgLQLPAyY2a9LOi7piKSflfQlSWfM7HlBXxvpFJVKe1GadQOAtYQxM3BQ0h875z7s\nnPuKpLdJ+o6kN4dwbcTMZm+g7a60R1dAxB0hNp0CDQNmlpXUI+mvlx5ztd+0c5LyQV4b8dHKG2g7\nK+1ttucB0C6e52no7iF1dndq1yt3qbO7U0N3D/E7myJBzww8T9IWSY+tevwxSS8I+NqIgSBuoO2q\nI0BXQMSR53nK9+VVulzS/MC8Fl63oPmBeZW+UVK+L08gSIlATxOY2QslLUjKO+fOL3v8vZJuc869\natXXd0ua3bt3r7Zv377iuQYHBzU4OBjYWNEeQ0NHVCrlG5TIPa1C4byKxaO+nrNddQQ6O3s1P39W\n9ZconDo6+nTp0tmWXxfYjKG7h1S6XFL1luozPpe5kFFhR0HFe4ttGBnWMj4+rvHx8RWPXblyRQ89\n9JC0gdMEQYeBrGr7Aw445yaWPf4hSdudc7+y6us5WpgyQd1APc/TyMhxTUxMq1LZqmz2OxoY2KPR\n0UOBBAHnnHbtulMLC/c3/JqdO+/QI4/8FacXECmd3Z2aH5hv9CeojskOXZq9FPawsAGbOVoYaKMi\n51zFzGYlvVbShCRZ7ZXwtZLeH+S1EX2tahpUT9iNhFbuVaj/qkpXQESNc06VLZW1/gRVyVSoxZEC\nYZwmOCHpP5vZb5rZj0v6I0lbJX0ohGsjwsLa7BfWi1haex4gvsxM2aeza/0JKvt0liCQAoGHAefc\nxyUdkvT7kr4g6acl7XPO/UvQ10b0JekGSldAxFF/b78yF+vfCjJfy2jg9oGQR4R2oBwx2ippTYPC\n3qsAbNbSaYLyLWVVd1eX/gSV+VpGXRe6NPPgDL+7MbGZPQOEAbRdUm+gcVpnjdNY0Xqe52lkdEQT\n5yZUyVSUrWY10Dug0ZHRWP8Npg1hAInBTSk8nudpePiYJienValsUzZ7Vf39ezQ2dpgbQIrxNxhf\nkT1NAPiV1hehMF6Al19jZWfHo1qaGy6Vzmhq6kDslmfQOmn9G0w7wgDQJp7n6djwsKYnJ7WtUtHV\nbFZ7+vt1eGysZTfiRu/+v//97y+rlrhkqVqi08jIcd/FngDEF8sEQBt4nqcD+bzuKpe1r1pd2rOl\nM5mMTnR16dTM5jdtrXz3v0/XN2ee0ZYth1Wp/IOolggkx2aWCcKoMwBglWPDw7qrXNb+xSAg1W7L\n+6tVHSyXdXxkxPdzrg72jXsl7FOlslPNFHsCkA6EAaANpicnta/6zFrwUi0QTE9M1P3camt1fJyc\nnF6cEVjNJD2tdnR2RLgIdGgWewaAkDnntK1SWasCrLZW1i8Bu94mwCefvFGN3/3vkfQpSf/uGZ+J\nW7EnrOR5nobfNazJc5OqbKko+3RW/b39GrundXtRkDyEASBkZqar2ewaXQykq9n1S8CuXAa49uzX\nNgFu2/YONe6VcEjZ7Mv19NOZusWeRkdPbew/Dm21ooDQwPUCQqWLJU31TVFACA2xTIDUa8dU6p7+\nfp3J1P/zeyCT0W0D65eAbbwMoMUb/LPWKPU8rd/6rQMqFM6ro6NPO3feoY6OPhUK5zlWGKJW/+4N\nv2u4FgRuqS7fJqLq7qrKt5Q1Mup/LwrSgZkBpFK7C+4cHhvTgakpuWWbCJ1qQeBkV5dOjY6u+f3N\ndHy86aYXateu4/rKV1zdd//vfe+pxe6OFJoJU5DT+JPnJmszAnVUd1c1MTmhooqbugaSiTCA1IlC\nwZ1cLqdTMzM6PjKiExMT2lqp6DvZrPYMDOjU6PolYJtpmXzjjd/V5z73icVSzydWlXpe+d9IEAhH\nkNP4tCPGZhAGkDrrrbWHVXAnl8vpaLEoFYsbeoHu79+jUunMqv+OmqVNgLV3/kd59x8RK6bxlyxN\n47vaNH7x3o29c1/RjrjBZhTaEaMR9gwgddZba5+YmA55RBt7Z+63ZTI3gZXasVdk8txkrTNgHdXd\nVU2ca+5IaSO0I8ZGEQaQKs2stcel4E4ul9PMzCk2AfqwVl2GoPmZxt+osXvG1PVwlzIXMsvzoTIX\nau2IR0fW3ouC9GKZAKnSzFp7nArusAzQvHbvFQljGj+Xy2nmwZlaO+LJVe2I76MdMRpjZgCp09+/\nZ40jd/EtuEMQWFvj8sz7VS4f1MjI8cDHEMY0/k033aTivUVdmr2kRz7/iC7NXlLx3iJBAGsiDCB1\n/K61IxmisFckqGl8z/M0dPeQOrs7teuVu9TZ3amhu4f07W9/u3WDR6KxTIDUWVprb+bIHZLBz16R\nIGdYgpjGp+ogWoEWxkg91trTobOzV/PzZ9W4bfPtunTpXKhjasXv3tDdQypdLq08rrgocyGjwo7C\nho8rIl5oYdxGUQpT2BiCQDpEca9IK373gj6uiHQgDGxAO48nIV4Ii9GRxL0iYRxXRDoQBnxaOp5U\nKuU1P39WCwv3a37+rEqlvPL5AwQCEBYjKol1GVYcV6yHqoNoEhsIfYpKKVtEU7vPsmNtSazL0N/b\nr9LFUt2lAqoOolnMDPgUheNJiK4onGVHc5IQBCSqDqI1CAM+JKmULYJBWETYlo4rFnYU1DHZoZ2f\n3KmOyQ4VdhQ4VoimsUzgQ9JK2aK1onKWHemTy+VUvLeoojbWARNgZsCnKB5PQjSsDIv1EBYRPH6/\nsBGBhQEz+z0zmzazq2b2raCuE7YkHk9C6xAWsRxLhoiLIGcGspI+LukPA7xG6JJ4PAmtQ1hEoz4B\nnucRDhBZgZcjNrP/KOmkc+4Hm/ja2JUjZn0Oq3met9j3YHpV34NDhMWEW9EnYPf1PgF2wXTDgzfo\neT/yPN2oG9Xf26+xe8b4fUBLbaYcMRsIN4kggNWSeJYdzRl+13AtCCzvE2CS+1Gniqvo8sJl6Rdo\nIoToYQMhECCCQLqs1SdAPyrpEUlW6xlQvqWskdGRMIcHNORrZsDM3i3pHWt8iZPU5Zz76mYGdfDg\nQW3fvn3FY4ODgxocHNzM0wJAYJrpE6Csrp1Mru6uamJyQkXRURD+jY+Pa3x8fMVjV65c2fDz+V0m\nOCbpz9b5mosbHMs1J0+ejM2eAQCQVvUJqF+GRPq+lhemvNZEiBkk+FXvDfKyPQO++QoDzrnHJT2+\noSsBQMKt1SdAFyS9aNm/aSKECAmyzsAuM/sZSS+WtMXMfmbxY1tQ1wSAdmrUJ0APS5qR9KrrX0sT\nIURJkKcJfl/Sby7799Ixh1+U9FCA1wWAtljqEzAyOqKJyQk9aU/qmwvfVOX5Fen1km5UrYnQ1xab\nCN1HEyFEQ2AzA865NznnttT5IAgASKylPgGXZi9p4e8W9PhXH9fQviF1PEgTIUQXdQYAICBmRhMh\nxAJ1BgAgJAQBRBVhAABijH4HaAXCAIDUa+aGGqWb7lrNkICNIAwASKVmbqhPPPFE5G66S82QSpdL\nmh+Y18LrFjQ/MK/SN0rK9+UJBNgQNhACSJ0V3QUHrncXLF0s6VzvOe3N79XpT5/Wo5cf1VO3PyUN\naMXXtLPJUKNmSNXdVZVdrd9B8V5KHMMfZgYApM6KG+qy8sDV3VWVd5f1x5/5Y339OV/XU31PSbfq\nmV/TxiZDazVDqu6uauLcRMgjQhIQBgCkzprdBW+V5KnWYfCW+l/SrptuM82QlvodAH4QBoCUS9uN\no+nugllF7qa7ohlSPfQ7wAYRBoAU8jxPQ0NH1NnZq1277lRnZ6+Gho6kYvNZMzdUfV9SRZG86fb3\n9itzsf5LN/0OsFGEASBlPM9TPn9ApVJe8/NntbBwv+bnz6pUyiufP5CKQLDWDVUPq9Zd8EWqdRqs\no5033UbNkDIXFvsdjNDvAP4RBoCUGR4+pnL5LlWr+7V8Z1y1ul/l8kGNjBxv5/BC0eiGal816W9U\n6y74KtU6DT6sSN10l5ohFXYU1DFJvwO0hkVpvdDMuiXNzs7Oqru7u93DARKps7NX8/NnVX9B3Kmj\no0+XLp0Ne1ih8zyv1l3w3ISedE/q29/8tlzG6Xv6np6qPiV1Snq5pFlJF6UbMjdo57/ZqTv67tDo\nyGhkbrr0O8CSubk59fT0SFKPc25uva9fjjoDQIo451SpbNNaO+Mqla2puMEsNRAa9UaV78vrsdc8\nVjthsFhPQA9LN3zkBu3YsUN3Dt6pdw2/SzfffHO7h/0MSf//CeEgDAApYmbKZq+qdrerPzOQzV5N\n1Q2mUREf3SpVM1XduePOdYv4pCE8IdnYMwCkTH//HmUyZ+p+LpN5QAMDt4U8ovbaaBEf+gMgSZgZ\nAFJmbOywpqYOqFx2yzYROmUyD6ir66RGR0+1e4ih8VPEZ/k7/7XKGbezVDGwUcwMACmTy+U0M3NK\nhcJ5dXT0aefOO9TR0adC4bxmZk6l6ia20SI+a5YzbmOpYmCjmBkAUiiXy6lYPKpikfXu/t5+lS6W\n6i4VNKpVHpVFAAANN0lEQVQnMHlusjYjUEd1d1UTkxMqimZBiA9mBoCUS3MQkPwX8aE/AJKIMAAg\n1fwW8aE/AJKIZQIAqbdUc6CoYlPLJhtZWgCijJkBAFimmXf09AdA0hAGAMAn+gMgaVgmAIAN8Lu0\nAEQZMwMAsEkEAcQdYQBAKjU6+seRQKQRYQBAajTqJ/Doo4/SZwCpFtieATN7saR7JP2SpBdIWpD0\nMUljzrlKUNcFgHoa9RP4wD9+QB/82Q+q0lehzwBSK8iZgR9X7c/qrZJ+QtJBSW+TNBbgNQGgrkb9\nBNxlpydvf5I+A0i1wMKAc+6Mc+63nHN/7Zybd859UtIxSb8a1DUBoJGGrYq/LumW+t+zVgtjIEnC\n3jPwHEnfCvmaAFJgrY1/DfsJOEnPEn0GkHqhhQEzu0VSQdIfhXVNAMnWaEPg6o1/DfsJmKTviz4D\nSD3fGwjN7N2S3rHGlzhJXc65ry77np2STkv6S+fcn653jYMHD2r79u0rHhscHNTg4KDf4QJIqEYb\nAhtt/GvYT+BFki5I+tFnXoM+A4iq8fFxjY+Pr3jsypUrG34+8zv9ZWbPlfTcdb7sonPuqcWv3yHp\n05L+1jn3pnWeu1vS7OzsrLq7u32NC0C6DN09pNLlUm3j3yqZCxkVdhRUvLd47bEV4WH39fBgXzE9\n69PPqp0mWPZ45mu1PgOcJkBczM3NqaenR5J6nHNzfr7X9zKBc+5x59xX1/lYCgI7VQsCfyfpzX6v\nBQCNNNwQqPob/xr1E3j7i9+ui1+4SJ8BpFqQdQZeKOkzkuYl3S3ph5fW3ZxzjwV1XQDJ13BD4JJl\nG/+Wr/ev1U+APgNIsyAbFfVJesnixyOLjy1OwGlLgNcFkHArNgTWu283sfGv0ecIAkijIOsM/Llz\nbsuqj4xzjiAAYNP6e/uVuVj/JYyNf4A/9CYAsCntOoM/ds+Yuh7uUuZC5vrRQFfbPNh1oUujI6Nt\nGRcQR4QBAL41e74/SI02BLLxD/DP99HCIHG0EIi+Rkf0Mhcz6nq4fUfx2PiHtAv1aCGAdGvU8Kfd\njX0IAsDGEQYA+OL3fD+A6CMMAGian/P9AOKDMACgaQ0b/iyhsQ8QS4QBAL5wvh9IHsIAAF843w8k\nD2EAwArrrfdzvh9IniB7EwCICc/zNPyuYU2em1RlS0XZp7Pq7+3X2D1jdW/uazX8CRK1BIBgEAaA\nlFtRRGjgehGh0sWSpvqm1n23H/TN2W9QAeAfywRAykW1iJB0PaiULpc0PzCvhdctaH5gXqVvlJTv\ny4da/hhIMsIAkHJRLiIU5aACJAlhAEixqBcRinJQAZKEMACkWJSLCEU9qABJQhgAUi6qRYSiHFSA\npCEMACkX5SJCUQ0qQNIQBoCUi3IRoSgHFSBJqDMAoG1FhNazFFRGRkc0MTmhSqaibDWrgd4Bjd43\nSp0BoEUIAwBWiEoQWBLVoAIkCcsEAGKDIAAEgzAAAEDKEQYAAEg5wgAAAClHGAAAIOUIAwAApFyg\nYcDM7jezfzKz75rZo2b2YTN7YZDXBAAA/gQ9MzAl6dck3SrpVyXtlvQ/A74mAADwIdCiQ8654rJ/\nPmJm75H0CTPb4px7OshrA2iM4j0Algttz4CZ/aCkN0iaJggA4fM8T0N3D6mzu1O7XrlLnd2dGrp7\nSJ7nbfg5aR8MJEPgYcDM3mNm35b0TUm7JN0Z9DUBrOR5nvJ9eZUulzQ/MK+F1y1ofmBepW+UlO/L\n+woEQYQKAO3lOwyY2bvNrLrGx9Nmduuyb3mvpJdJul3S05I+0qKxA2jS8LuGVb6lrOotVWlpdcCk\n6u6qyreUNTI60tTztDJUAIgO8zvNZ2bPlfTcdb7sonPuqTrfu1PSI5LyzrnzdT7fLWl279692r59\n+4rPDQ4OanBw0NdYAdR0dndqfmD+ehBYzkkdkx26NHtp3ecZuntIpculWqhYJXMho8KOgor3Fut8\nJ4BWGh8f1/j4+IrHrly5ooceekiSepxzc36ez3cY2Awze5GkeUm/4Jx7qM7nuyXNzs7Oqru7O7Rx\nAUnmnNOuV+7SwusWGn7Nzk/u1COff2TdTYWtChUAWm9ubk49PT3SBsJAYKcJzOwVkl4p6bOS/lXS\nLZJ+X9LDkmaCui6AlcxM2aezklPDm3j26ey6QcA5p8qWSv3nUO25K5kKJxWAGApyA+F3VastcE7S\nVyT9iaQvqjYrUAnwugBW6e/tV+Zi/T/3zNcyGrh9YN3nWBEq6mkyVACInsDCgHPu/zjnXuuc+yHn\n3Fbn3G7nXME5dzmoawKob+yeMXU93KXMhcz1m7mrrfN3XejS6MhoU8/TilABIHroTQCkQC6X08yD\nMyrsKKhjskM7P7lTHZMdKuwoaObBGeVyuaaep1WhAkC0BFqBEEB05HI5Fe8tqqjihtf1l0LFyOiI\nJiYnVMlUlK1mNdA7oNH7RpsOFQCihTAApNBm1vVbESoARAvLBAA2jCAAJANhAACAlCMMAACQcoQB\nAABSjjAAAEDKEQYAAEg5wgAAAClHGAAAIOUIAwAApBxhAACAlCMMAACQcoQBAABSjjAAAEDKEQYA\nAEg5wgAAAClHGAAAIOUIAwAApBxhAACAlCMMAACQcoQBAABSjjAAAEDKEQYAAEg5wgAAAClHGAAA\nIOUIA9D4+Hi7h5A6/MzDx888fPzM4yOUMGBmzzKzL5pZ1cx+Ooxronn8wYaPn3n4+JmHj595fIQ1\nM/BeSf8syYV0PQAA0KTAw4CZ/VtJt0s6LMmCvh4AAPDnhiCf3MyeL+mDkgYkfTfIawEAgI0JNAxI\n+jNJ9znnvmBmL27i658tSeVyOdhRYYUrV65obm6u3cNIFX7m4eNnHj5+5uFadu98tt/vNef8LeOb\n2bslvWONL3GSuiTtl/Rrkl7jnKuaWYeki5Je5pz73w2e+z9I+pivAQEAgOXe4Jz7Cz/fsJEw8FxJ\nz13nyy5J+rik1616fIukpyR9zDn3pgbPvU/SvKTv+RoYAADp9mxJHZLOOOce9/ONvsNA009s9iOS\nbl720A5JZyQdkPR559yjgVwYAAD4EtieAefcPy//t5ldVe00wUWCAAAA0RF2BULqDAAAEDGBLRMA\nAIB4oDcBAAApRxgAACDlIh8GaHIUDjN7sZn9dzO7aGbfMbOHzeyomWXbPbakMbPfMbNLZvZdM/uc\nmb2i3WNKKjN7p5l93syeMLPHzOwTZnZru8eVFos//6qZnWj3WJLOzHaY2UfM7JuLr+FfMrPuZr8/\n8mFANDkKy4+rdtrjrZJ+QtJBSW+TNNbOQSWNmf26pOOSjkj6WUlfknTGzJ7X1oEl16sl/YGkn5PU\nKykr6UEz+4G2jioFFkPuW1X7HUeAzOw5kqYlPalarZ4uSYck/WvTzxHlDYSLTY6OqVab4Mtao3oh\nWs/MDkt6m3PulnaPJSnM7HOSzjvnfnfx3ybpEUnvd869t62DS4HF0PV/Je11zn223eNJKjO7SdKs\npN+WdI+kLzjn7mrvqJLLzN4jKe+ce81GnyOyMwPLmhy9UTQ5apfnSPpWuweRFItLLj2S/nrpMVdL\n4+ck5ds1rpR5jmqzjPxeB6skadI5N9XugaREv6S/N7OPLy6HzZnZW/w8QWTDgJY1OWr3QNLIzG6R\nVJD0R+0eS4I8T7WS3I+tevwxSS8IfzjpsjgL8z5Jn3XOfbnd40kqM/sNSS+T9M52jyVFXqLaLMw/\nSupT7XX7/Wb2xmafINQwYGbvXtxM0ujjaTO71cyGJOUk3bv0rWGOM0ma/Zmv+p6dkk5L+kvn3J+2\nZ+SpYmJPTBjuU20/zG+0eyBJtViG/n2S3uicq7R7PCmSkTTrnLvHOfcl59wHJf2JagGhKUG3MF7t\nmGrv+NdySdIvSvp5SU/Wwvw1f29mdZscoaFmfuYXl/6Hme2QNKXau6f/EuTAUuibkp6W9PxVj/+w\nnjlbgBYysw9I+mVJr3bOXW73eBKsR9IPSZq16y/eWyTtNbOCpBtdlDeqxddlSeVVj5Ul/WqzTxBq\nGFjsorRuJyUze7uk4WUPLTU5er2kzwczumRq9mcuXZsRmJL0d5LeHOS40sg5VzGzWUmvlTQhXZu6\nfq2k97dzbEm2GATuUK2d+tfbPZ6EOyfpp1Y99iHVbkzvIQgEZlrSj6167Mck/VOzTxD2zEBTaHIU\nPjN7oaTPqNY++m5JP7wU7J1zvGttnROS/nwxFHxetSOcW1V7wUSLmdl9kgYlDUi6urgxWZKuOOdo\nk95izrmrqp38umbx9ftx59zqd65onZOSps3snZI+rtpR2reodrSzKZEMAw2QKIPVp9omlJeodtRN\nur6WvaVdg0oa59zHF4+3/b5qywVflLTPOfcv7R1ZYr1Ntd/hz6x6/E2SPhz6aNKJ1+6AOef+3sx+\nRdJ7VDvKeUnS7zrn/kezzxHpOgMAACB4UT5aCAAAQkAYAAAg5QgDAACkHGEAAICUIwwAAJByhAEA\nAFKOMAAAQMoRBgAASDnCAAAAKUcYAAAg5QgDAACk3P8HiJNigGNTf50AAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x107967750>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cols = {1:'r',2:'b',3:'g'}\n",
    "for label in cols:\n",
    "    pos = np.where(t==label)[0]\n",
    "    plt.plot(X[pos,0],X[pos,1],cols[label]+'o')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A method to compute the mean and covariance of the samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def compute_cc(data):\n",
    "    mu = data.mean(axis=0)\n",
    "    cov = np.cov(data.T)\n",
    "    return mu,cov"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Compute means and covariances for each class"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 115,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "cc_pars = {}\n",
    "for label in cols:\n",
    "    pos = np.where(t == label)[0]\n",
    "    mu,cov = compute_cc(X[pos,:])\n",
    "    cc_pars[label] = (mu,cov)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Plot the data and the contours"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 116,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x106605750>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "minx = np.floor(X.min(axis=0))\n",
    "maxx = np.ceil(X.max(axis=0))\n",
    "\n",
    "xr = np.arange(minx[0],maxx[0],0.1)\n",
    "yr = np.arange(minx[1],maxx[1],0.1)\n",
    "_xx,_yy = np.meshgrid(xr,yr)\n",
    "\n",
    "for label in cols:\n",
    "    z = np.zeros_like(_xx.ravel())\n",
    "    for i,x in enumerate(_xx.ravel()):\n",
    "        y = _yy.ravel()[i]\n",
    "\n",
    "        z[i] = -0.5*np.linalg.det(2*np.pi*cc_pars[label][1])\n",
    "        tempX = np.array([x,y]).T\n",
    "        inner = np.dot((tempX-cc_pars[label][0]).T,np.linalg.inv(cc_pars[label][1]))\n",
    "        inner = np.dot(inner,(tempX-cc_pars[label][0]))\n",
    "        z[i] *= np.exp(-0.5*inner)\n",
    "        \n",
    "    # plot the data\n",
    "    pos = np.where(t == label)[0]\n",
    "    plt.plot(X[pos,0],X[pos,1],cols[label] + 'o')\n",
    "\n",
    "    # plot the contour\n",
    "    _zz = np.reshape(z,(len(yr),len(xr)))\n",
    "    plt.contour(_xx,_yy,_zz,colors=cols[label])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.15"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
